The IEEE standard, “IEEE 1394-2000 Standard For A High Performance Serial Bus,” Draft ratified in 2000, is an international standard for implementing an inexpensive high-speed serial bus architecture which supports both asynchronous and isochronous format data transfers. Isochronous data transfers are real-time transfers which take place such that the time intervals between significant instances have the same duration at both the transmitting and receiving applications. Each packet of data transferred isochronously is transferred in its own time period. Ali example of an ideal application for the transfer of data isochronously would be from a video recorder to a television set. The video recorder records images and sounds and saves the data in discrete chunks or packets. The video recorder then transfers each packet, representing the image and sound recorded over a limited time period, during that time period, for display by the television set. The IEEE 1394-2000 serial bus architecture provides multiple channels for isochronous data transfer between applications. A six bit channel number is broadcast with the data to ensure reception by the appropriate application. This allows multiple applications to simultaneously transmit isochronous data across the bus structure. Asynchronous transfers are traditional data transfer operations which take place as soon as possible and transfer an amount of data from a source to a destination.
The IEEE 1394-2000 standard provides a high-speed serial bus for interconnecting digital devices thereby providing a universal I/O connection. The IEEE 1394-2000 standard defines a digital interface for the applications thereby eliminating the need for an application to convert digital data to analog data before it is transmitted across the bus. Correspondingly, a receiving application will receive digital data from the bus, not analog data, and will therefore not be required to convert analog data to digital data. The cable required by the IEEE 1394-2000 standard is very thin in size compared to other bulkier cables used to connect such devices. Devices can be added and removed from an IEEE 1394-2000 bus while the bus is active. If a device is so added or removed the bus will then automatically reconfigure itself for transmitting data between the then existing nodes. A node is considered a logical entity with a unique address on the bus structure. Each node provides a configuration ROM, a standardized set of control registers and its own address space. Because of these advantages the IEEE 1394-2000 standard provides for a unique networking structure that is capable of incorporating audio/video devices, media play/record devices, computing devices and display devices.
The IEEE 1394-2000 standard defines a protocol as illustrated in FIG. 1. This protocol includes a serial bus management block 10 coupled to a transaction layer 12, a link layer 14 and a physical layer 16. The physical layer 16 provides the electrical and mechanical connection between a device or application and the IEEE 1394-2000 cable. The physical layer 16 also provides arbitration to ensure that all devices coupled to the IEEE 1394-2000 bus have access to the bus as well as actual data transmission and reception. The link layer 14 provides data packet delivery service for both asynchronous and isochronous data packet transport. This supports both asynchronous data transport, using an acknowledgement protocol, and isochronous data transport, providing real-time guaranteed bandwidth protocol for just-in-time data delivery. The transaction layer 12 supports the commands necessary to complete asynchronous data transfers, including read, write and lock. The transaction layer 12 also provides a path for isochronous management data to be transferred to the serial bus management block 10 via read operations with isochronous control compare-swap registers. The serial bus management block 10 contains an isochronous resource manager for managing isochronous data transfers. The serial bus management block also provides overall configuration control of the serial bus in the form of optimizing arbitration timing, guarantee of adequate electrical power for all devices on the bus, assignment of the cycle master, assignment of isochronous channel and bandwidth resources and basic notification of errors.
A diverse range of products can be implemented with the ability to connect to an IEEE 1394-2000 serial bus network. These devices can have capabilities and functionality ranging from very simple to very complex. Specifically, a variety of audio/video devices, media play/record devices and computing/display devices are capable of being linked together over an IEEE 1394-2000 serial bus networking structure to support asynchronous and isochronous data transfers between the devices.
The IEEE 1394-2000 cable environment is a network of nodes connected by point-to-point links, including a port on each node's physical connection and the cable between them. The physical topology for the cable environment of an IEEE 1394-2000 serial bus is a non-cyclic network of multiple ports, with finite branches. The primary restriction on the cable environment is that nodes must be connected together without forming any closed loops.
A block diagram of a conventional home audio/video network including a television and an analog video cassette recorder (VCR) is illustrated in FIG. 2. The television 20 is coupled to the analog VCR 40. Video data and associated data are sent between the analog VCR 40 and the television 20 in a known manner.
Relevant internal components of the television 20 and the analog VCR 40 are also illustrated in FIG. 2. The television 20 includes an interface 32 which sends and receives audio and video signals to and from the analog VCR 40. The interface 32 is coupled to an audio/video switch 26 for directing audio/video signals to and from the analog VCR 40. A cable/antenna interface circuit 30 is coupled to receive input signals from a coaxial cable or an antenna and to pass those signals through a tuner 28 to the audio/video switch 26. The audio/video switch 26 is coupled to a video random access memory (VRAM) circuit 24 for providing the video signals from the cable/antenna interface 30 or the analog VCR 40 to the display 22.
The analog VCR 40 includes a video source 46, such as a video tape which is being played by the analog VCR 40 or a television input. The analog VCR 40 also includes a graphics source 48 which generates on-screen-display graphics to be displayed by the television 20 when the analog VCR 40 is sending data to be displayed by the television 20. Such on-screen-display graphics include words or symbols representing commands being executed by the analog VCR 40, such as PLAY, STOP, REWIND, FAST-FORWARD, PAUSE and RECORD. The on-screen-display graphics generated by the graphics source 48 typically also include a menu or menus displayed on the television 20 for the user which allow the user to program the analog VCR 40. On-screen-display graphics generated by the graphics source 48 are provided to a mixer circuit 44. The mixer circuit 44 also receives video data from the video source 46. The mixer circuit 44 then combines the on-screen-display graphics from the graphics source 48 and the video data from the video source 46 into a video output which is transmitted through the interface circuit 42 to the television 20. The video output from the analog VCR 40 is then processed by the television 20 and shown on the display 22. The mixer circuit 44 will, as appropriate, either overlay the on-screen-display graphics onto the video data to form the video output or cause the video output to include only on-screen-display graphics from the graphics source 48 or video data from the video source 46.
In an audio/video network including a digital television and a digital VCR coupled together by an IEEE 1394-1995 serial bus network, the video data from the digital VCR is typically transmitted in a digital format such as MPEG. The digital VCR is not typically responsible for encoding the video data in an MPEG format, but will record and transmit data previously encoded in a MPEG format by another source. In order for the digital VCR to have the ability to combine on-screen-display graphics with the video data, as described above, the digital VCR would have to include an MPEG encoder and have the ability to encode the on-screen-display graphics into an MPEG format and then combine the streams of data into a video output stream of data. Due to the cost of MPEG encoders, such a requirement is cost prohibitive in competitive consumer VCRs.
Some video source devices have the ability to generate a very high bandwidth graphics output which is sent to a display device, such as a television, for on-screen-display to the user. This graphics output can be of very high resolution and color depth, including dynamic animation effects with multiple portions of the graphics data changing on a frequent basis. This graphics data is typically mixed with, or overlaid on top of, a video signal. As described above, it is relatively easy and inexpensive to provide capability within an analog device to combine on-screen-display graphics with a video stream of data and send the combined stream of data to a television or other display device for display to a user or users. It is also relatively easy and inexpensive for a device, such as a video game console to generate a pure graphics output stream and send this output stream over an analog video connection to the television. However, for digital devices, it is quite expensive, to include within the device, the capability to generate graphics data or on-screen-display data and encode this data into a format such as MPEG video in which digital data is typically transmitted. It is cost prohibitive for most consumer devices such as VCRs and video game consoles to include the ability to generate on-screen-display graphics for combination with video and/or transmission to a digital display device as an MPEG stream of video.
The EIA-775, DTV 1394 Interface Specification, draft Nov. 30, 1998, is a standard which defines a specification for a baseband digital interface to a digital television that provides a level of functionality that is similar to the analog system illustrated in FIG. 2 and described above. Within the EIA-775 specification, an audio/video source capable of producing analog audio and video and also an MPEG transport stream, is coupled to a digital television receiver. The analog signal is transmitted over a standard coaxial cable and the MPEG data is transmitted isochronously over an IEEE 1394 serial bus. Bitmaps of the source on-screen-display data are sent by asynchronous connections separately over the IEEE 1394 serial bus and are mixed with the decoded MPEG video in the digital television prior to being presented on the display. This process removes the need for the audio/video source to perform the additional MPEG video decodes and re-encodes, described above. However, the process of the EIA-775 specification, requires the audio/video source and the digital television to be connected together by the IEEE 1394 serial bus. The process of the EIA-775 specification does not work with connections other than the IEEE 1394 serial bus.